/**********************************************
 * 姓名：fanfutian
 * 时间：2023/11/9                             
 * 文件名：manager.h  
 * 功能：创建管理者
 *********************************************/
#pragma once
#include <iostream>
#include <string>
#include <fstream>
#include "identity.h"
#include "student.h"
#include "teacher.h"
#include <vector>
#include "computer.h"

using namespace std;


/*
 * 创建管理员类
 */
class Manager:public Identity{
public:
    // 默认构造
    Manager();
    // 有参构造
    Manager(string name,string pwd);
    // 重写纯虚函数
    virtual void showMenu();
    // 添加账号
    void addIdentity();
    // 查看账号
    void showIdentity();
    // 查看机房信息
    void showMachineInfo();
    // 清空记录
    void clearInfo();

private:
    // 创建学生容器
    vector<Student> v_stu;
    // 创建老师容器
    vector<Teacher> v_tea;
    // 创建机房容器
    vector<ComputerRoom> v_com;
    // 封装一个写入不同文件的函数
    void writeFileInfo(const string& fileName,const int& id,const string& name,const string& pwd);
    // 初始化容器
    void initVector();
    // 查重
    bool checkRepeat(int id,int type);
};
